if exists (select 1 from sysobjects where name = 'set_neudienst' and type = 'P')
begin
   drop procedure set_neudienst
   print 'Procedure: set_neudienst deleted ...'
end
go
create procedure set_neudienst(
  @mandid            char(2)       = 'li',
  @dienstname        varchar(32)   = 'Januar',
  @kurztext          varchar(60)   = 'januar test',
  @beschreibung      varchar(250)  = 'januar besch test',
--  @einsatzprotag     int           = 1,
  @gerechnet         int           = 1,
  @RGB               int           = 0,
  @ColorName         varchar(32)   = '',
  @typ               int           = 1,
  @GanzerTag         int           = 0,
  @dienstid          int           = 0 output
)
as
begin
  set nocount on
  declare @beschrid   int
  if @beschreibung is null select @beschreibung = ''
  if not exists (select 1 from Beschreibung where Beschreibung.BeschrID between 1 and 500)
  begin
    select @beschrid = 1
  end
  else
  begin
    select @beschrid = max(Beschreibung.BeschrID) + 1
      from Beschreibung
     where Beschreibung.BeschrID between 1 and 500
  end
  exec set_beschreibung @beschrid, @kurztext, @beschreibung
  insert into Dienst (Name, BeschrID,Gerechnet,RGB,ColorName,Typ,Status,GanzerTag,mandid) values (@dienstname, @beschrid, @gerechnet, @RGB, @ColorName, @typ,0,@GanzerTag,@mandid)
  
  select @dienstid = DienstID
    from Dienst
   where Name = @dienstname
  
end
go
print 'Procedure: set_neudienst done ...'
go
grant exec on set_neudienst to prsadmins with grant option
go
grant exec on set_neudienst to prsusers
go

